# This should match the schema defined in external_deps.bzl.
REPOSITORY_LOCATIONS_SPEC = dict(
    bazel_compdb = dict(
        project_name = "bazel-compilation-database",
        project_desc = "Clang JSON compilation database support for Bazel",
        project_url = "https://github.com/grailbio/bazel-compilation-database",
        version = "0.5.2",
        sha256 = "d32835b26dd35aad8fd0ba0d712265df6565a3ad860d39e4c01ad41059ea7eda",
        strip_prefix = "bazel-compilation-database-{version}",
        urls = ["https://github.com/grailbio/bazel-compilation-database/archive/{version}.tar.gz"],
        release_date = "2021-09-10",
        use_category = ["build"],
    ),
    bazel_gazelle = dict(
        project_name = "Gazelle",
        project_desc = "Bazel BUILD file generator for Go projects",
        project_url = "https://github.com/bazelbuild/bazel-gazelle",
        version = "0.24.0",
        sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
        urls = ["https://github.com/bazelbuild/bazel-gazelle/releases/download/v{version}/bazel-gazelle-v{version}.tar.gz"],
        release_date = "2021-10-11",
        use_category = ["build"],
    ),
    bazel_toolchains = dict(
        project_name = "bazel-toolchains",
        project_desc = "Bazel toolchain configs for RBE",
        project_url = "https://github.com/bazelbuild/bazel-toolchains",
        version = "4.1.0",
        sha256 = "179ec02f809e86abf56356d8898c8bd74069f1bd7c56044050c2cd3d79d0e024",
        strip_prefix = "bazel-toolchains-{version}",
        urls = [
            "https://github.com/bazelbuild/bazel-toolchains/releases/download/{version}/bazel-toolchains-{version}.tar.gz",
            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/{version}.tar.gz",
        ],
        release_date = "2021-05-21",
        use_category = ["build"],
    ),
    build_bazel_rules_apple = dict(
        project_name = "Apple Rules for Bazel",
        project_desc = "Bazel rules for Apple platforms",
        project_url = "https://github.com/bazelbuild/rules_apple",
        version = "0.32.0",
        sha256 = "77e8bf6fda706f420a55874ae6ee4df0c9d95da6c7838228b26910fc82eea5a2",
        urls = ["https://github.com/bazelbuild/rules_apple/releases/download/{version}/rules_apple.{version}.tar.gz"],
        release_date = "2021-10-29",
        use_category = ["build"],
    ),
    rules_fuzzing = dict(
        project_name = "Fuzzing Rules for Bazel",
        project_desc = "Bazel rules for fuzz tests",
        project_url = "https://github.com/bazelbuild/rules_fuzzing",
        version = "0.2.0",
        sha256 = "9b688a77b930e1842312d37b00fbb796b96323a2eb8362b2cfb68e7d6e74f860",
        strip_prefix = "rules_fuzzing-{version}",
        urls = ["https://github.com/bazelbuild/rules_fuzzing/archive/v{version}.tar.gz"],
        release_date = "2021-07-12",
        use_category = ["test_only"],
        implied_untracked_deps = [
            # This is a repository rule generated to define an OSS-Fuzz fuzzing
            # engine target from the CFLAGS/CXXFLAGS environment.
            "rules_fuzzing_oss_fuzz",
        ],
    ),
    envoy_build_tools = dict(
        project_name = "envoy-build-tools",
        project_desc = "Common build tools shared by the Envoy/UDPA ecosystem",
        project_url = "https://github.com/envoyproxy/envoy-build-tools",
        version = "55a7bbe700586729bd38231a9a6f3dcd1ff85e7d",
        sha256 = "11893be9f0334a7e12ffc04b3b034dffe0bb5516d36654011532136c7929ae27",
        strip_prefix = "envoy-build-tools-{version}",
        urls = ["https://github.com/envoyproxy/envoy-build-tools/archive/{version}.tar.gz"],
        release_date = "2021-09-28",
        use_category = ["build"],
    ),
    boringssl = dict(
        project_name = "BoringSSL",
        project_desc = "Minimal OpenSSL fork",
        project_url = "https://github.com/google/boringssl",
        # To update BoringSSL, which tracks Chromium releases:
        # 1. Open https://omahaproxy.appspot.com/ and note <current_version> of linux/dev release.
        # 2. Open https://chromium.googlesource.com/chromium/src/+/refs/tags/<current_version>/DEPS and note <boringssl_revision>.
        # 3. Find a commit in BoringSSL's "main-with-bazel" branch that merges <boringssl_revision>.
        #
        # chromium-94.0.4606.81 (linux/dev)
        version = "648cbaf033401b7fe7acdce02f275b06a88aab5c",
        sha256 = "579cb415458e9f3642da0a39a72f79fdfe6dc9c1713b3a823f1e276681b9703e",
        strip_prefix = "boringssl-{version}",
        urls = ["https://github.com/google/boringssl/archive/{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2021-07-15",
        cpe = "cpe:2.3:a:google:boringssl:*",
    ),
    boringssl_fips = dict(
        project_name = "BoringSSL (FIPS)",
        project_desc = "FIPS compliant BoringSSL",
        project_url = "https://boringssl.googlesource.com/boringssl/+/master/crypto/fipsmodule/FIPS.md",
        version = "fips-20190808",
        sha256 = "3b5fdf23274d4179c2077b5e8fa625d9debd7a390aac1d165b7e47234f648bb8",
        urls = ["https://commondatastorage.googleapis.com/chromium-boringssl-fips/boringssl-ae223d6138807a13006342edfeef32e813246b39.tar.xz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2019-08-08",
        cpe = "cpe:2.3:a:google:boringssl:*",
    ),
    com_google_absl = dict(
        project_name = "Abseil",
        project_desc = "Open source collection of C++ libraries drawn from the most fundamental pieces of Google’s internal codebase",
        project_url = "https://abseil.io/",
        version = "17c954d90d5661e27db8fc5f086085690a8372d9",
        sha256 = "2e4ace2ed32a4ccfd29e856ad72b4fd1eae2ec060d3ba8646857fa170d6e8269",
        strip_prefix = "abseil-cpp-{version}",
        urls = ["https://github.com/abseil/abseil-cpp/archive/{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2021-06-03",
        cpe = "N/A",
    ),
    # This dependency is built only when performance tracing is enabled with the
    # option --define=perf_tracing=enabled. It's never built for releases.
    com_github_google_perfetto = dict(
        project_name = "Perfetto",
        project_desc = "Perfetto Tracing SDK",
        project_url = "https://perfetto.dev/",
        version = "22.1",
        sha256 = "013ba743019a1ca04627f7ce8bf424b60ed7f0f57e232eff719ae879be4c90fd",
        strip_prefix = "perfetto-{version}/sdk",
        urls = ["https://github.com/google/perfetto/archive/v{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2021-12-07",
        cpe = "N/A",
    ),
    com_github_c_ares_c_ares = dict(
        project_name = "c-ares",
        project_desc = "C library for asynchronous DNS requests",
        project_url = "https://c-ares.haxx.se/",
        version = "1.18.1",
        sha256 = "1a7d52a8a84a9fbffb1be9133c0f6e17217d91ea5a6fa61f6b4729cda78ebbcf",
        strip_prefix = "c-ares-{version}",
        urls = ["https://github.com/c-ares/c-ares/releases/download/cares-{underscore_version}/c-ares-{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2021-10-27",
        cpe = "cpe:2.3:a:c-ares_project:c-ares:*",
    ),
    com_github_circonus_labs_libcircllhist = dict(
        project_name = "libcircllhist",
        project_desc = "An implementation of Circonus log-linear histograms",
        project_url = "https://github.com/circonus-labs/libcircllhist",
        version = "63a16dd6f2fc7bc841bb17ff92be8318df60e2e1",
        sha256 = "8165aa25e529d7d4b9ae849d3bf30371255a99d6db0421516abcff23214cdc2c",
        strip_prefix = "libcircllhist-{version}",
        urls = ["https://github.com/circonus-labs/libcircllhist/archive/{version}.tar.gz"],
        use_category = ["controlplane", "observability_core", "dataplane_core"],
        release_date = "2019-02-11",
        cpe = "N/A",
    ),
    com_github_cyan4973_xxhash = dict(
        project_name = "xxHash",
        project_desc = "Extremely fast hash algorithm",
        project_url = "https://github.com/Cyan4973/xxHash",
        version = "0.8.1",
        sha256 = "3bb6b7d6f30c591dd65aaaff1c8b7a5b94d81687998ca9400082c739a690436c",
        strip_prefix = "xxHash-{version}",
        urls = ["https://github.com/Cyan4973/xxHash/archive/v{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2021-11-29",
        cpe = "N/A",
    ),
    com_github_envoyproxy_sqlparser = dict(
        project_name = "C++ SQL Parser Library",
        project_desc = "Forked from Hyrise SQL Parser",
        project_url = "https://github.com/envoyproxy/sql-parser",
        version = "3b40ba2d106587bdf053a292f7e3bb17e818a57f",
        sha256 = "96c10c8e950a141a32034f19b19cdeb1da48fe859cf96ae5e19f894f36c62c71",
        strip_prefix = "sql-parser-{version}",
        urls = ["https://github.com/envoyproxy/sql-parser/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.filters.network.mysql_proxy",
            "envoy.filters.network.postgres_proxy",
        ],
        release_date = "2020-06-10",
        cpe = "N/A",
    ),
    com_github_mirror_tclap = dict(
        project_name = "tclap",
        project_desc = "Small, flexible library that provides a simple interface for defining and accessing command line arguments",
        project_url = "http://tclap.sourceforge.net",
        version = "1.2.5",
        sha256 = "7e87d13734076fa4f626f6144ce9a02717198b3f054341a6886e2107b048b235",
        strip_prefix = "tclap-{version}",
        urls = ["https://github.com/mirror/tclap/archive/v{version}.tar.gz"],
        release_date = "2021-11-01",
        use_category = ["other"],
        cpe = "cpe:2.3:a:tclap_project:tclap:*",
    ),
    com_github_fmtlib_fmt = dict(
        project_name = "fmt",
        project_desc = "{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams",
        project_url = "https://fmt.dev",
        version = "7.0.3",
        sha256 = "decfdf9ad274070fa85f26407b816f5a4d82205ae86bac1990be658d0795ea4d",
        strip_prefix = "fmt-{version}",
        urls = ["https://github.com/fmtlib/fmt/releases/download/{version}/fmt-{version}.zip"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2020-08-07",
        cpe = "cpe:2.3:a:fmt:fmt:*",
    ),
    com_github_gabime_spdlog = dict(
        project_name = "spdlog",
        project_desc = "Very fast, header-only/compiled, C++ logging library",
        project_url = "https://github.com/gabime/spdlog",
        version = "1.7.0",
        sha256 = "f0114a4d3c88be9e696762f37a7c379619443ce9d668546c61b21d41affe5b62",
        strip_prefix = "spdlog-{version}",
        urls = ["https://github.com/gabime/spdlog/archive/v{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2020-07-09",
        cpe = "N/A",
    ),
    com_github_google_libprotobuf_mutator = dict(
        project_name = "libprotobuf-mutator",
        project_desc = "Library to randomly mutate protobuffers",
        project_url = "https://github.com/google/libprotobuf-mutator",
        version = "1.0",
        sha256 = "792f250fb546bde8590e72d64311ea00a70c175fd77df6bb5e02328fa15fe28e",
        strip_prefix = "libprotobuf-mutator-{version}",
        urls = ["https://github.com/google/libprotobuf-mutator/archive/v{version}.tar.gz"],
        release_date = "2020-11-13",
        use_category = ["test_only"],
    ),
    com_github_google_libsxg = dict(
        project_name = "libsxg",
        project_desc = "Signed HTTP Exchange library",
        project_url = "https://github.com/google/libsxg",
        version = "beaa3939b76f8644f6833267e9f2462760838f18",
        sha256 = "082bf844047a9aeec0d388283d5edc68bd22bcf4d32eb5a566654ae89956ad1f",
        strip_prefix = "libsxg-{version}",
        urls = ["https://github.com/google/libsxg/archive/{version}.tar.gz"],
        use_category = ["other"],
        extensions = ["envoy.filters.http.sxg"],
        release_date = "2021-07-08",
        cpe = "N/A",
    ),
    com_github_google_tcmalloc = dict(
        project_name = "tcmalloc",
        project_desc = "Fast, multi-threaded malloc implementation",
        project_url = "https://github.com/google/tcmalloc",
        version = "9f385356c34d4fc11f76a000b609e2b446c20667",
        sha256 = "652e48e0b9ef645db04bff8a3d4841c60ce07275f5d98e18e698dc92bd111291",
        strip_prefix = "tcmalloc-{version}",
        urls = ["https://github.com/google/tcmalloc/archive/{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2020-11-04",
        cpe = "N/A",
    ),
    com_github_gperftools_gperftools = dict(
        project_name = "gperftools",
        project_desc = "tcmalloc and profiling libraries",
        project_url = "https://github.com/gperftools/gperftools",
        version = "2.9.1",
        sha256 = "ea566e528605befb830671e359118c2da718f721c27225cbbc93858c7520fee3",
        strip_prefix = "gperftools-{version}",
        urls = ["https://github.com/gperftools/gperftools/releases/download/gperftools-{version}/gperftools-{version}.tar.gz"],
        release_date = "2021-03-03",
        use_category = ["dataplane_core", "controlplane"],
        cpe = "cpe:2.3:a:gperftools_project:gperftools:*",
    ),
    com_github_grpc_grpc = dict(
        project_name = "gRPC",
        project_desc = "gRPC C core library",
        project_url = "https://grpc.io",
        version = "a3ae8e00a2c5553c806e83fae83e33f0198913f0",
        sha256 = "1ccc2056b68b81ada8df61310e03dfa0541c34821fd711654d0590a7321db9c8",
        strip_prefix = "grpc-{version}",
        urls = ["https://github.com/grpc/grpc/archive/{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2021-06-07",
        cpe = "cpe:2.3:a:grpc:grpc:*",
    ),
    com_github_intel_ipp_crypto_crypto_mb = dict(
        project_name = "libipp-crypto",
        project_desc = "Intel® Integrated Performance Primitives Cryptography",
        project_url = "https://github.com/intel/ipp-crypto",
        version = "2021.5",
        sha256 = "0b277548c59e6bfe489e634d622b54be3708086fc006a441d39922c2d6d43f0d",
        strip_prefix = "ipp-crypto-ippcp_{version}",
        urls = ["https://github.com/intel/ipp-crypto/archive/ippcp_{version}.tar.gz"],
        release_date = "2021-12-21",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.tls.key_providers.cryptomb"],
        cpe = "cpe:2.3:a:intel:cryptography_for_intel_integrated_performance_primitives:*",
    ),
    com_github_luajit_luajit = dict(
        project_name = "LuaJIT",
        project_desc = "Just-In-Time compiler for Lua",
        project_url = "https://luajit.org",
        # The last release version, 2.1.0-beta3 has a number of CVEs filed
        # against it. These may not impact correct non-malicious Lua code, but for prudence we bump.
        version = "1d8b747c161db457e032a023ebbff511f5de5ec2",
        sha256 = "20a159c38a98ecdb6368e8d655343b6036622a29a1621da9dc303f7ed9bf37f3",
        strip_prefix = "LuaJIT-{version}",
        urls = ["https://github.com/LuaJIT/LuaJIT/archive/{version}.tar.gz"],
        release_date = "2020-10-12",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.lua"],
        cpe = "cpe:2.3:a:luajit:luajit:*",
    ),
    com_github_moonjit_moonjit = dict(
        project_name = "Moonjit",
        project_desc = "LuaJIT fork with wider platform support",
        project_url = "https://github.com/moonjit/moonjit",
        version = "2.2.0",
        sha256 = "83deb2c880488dfe7dd8ebf09e3b1e7613ef4b8420de53de6f712f01aabca2b6",
        strip_prefix = "moonjit-{version}",
        urls = ["https://github.com/moonjit/moonjit/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.lua"],
        release_date = "2020-01-14",
        cpe = "cpe:2.3:a:moonjit_project:moonjit:*",
    ),
    com_github_nghttp2_nghttp2 = dict(
        project_name = "Nghttp2",
        project_desc = "Implementation of HTTP/2 and its header compression algorithm HPACK in Cimplementation of HTTP/2 and its header compression algorithm HPACK in C",
        project_url = "https://nghttp2.org",
        version = "1.46.0",
        sha256 = "4b6d11c85f2638531d1327fe1ed28c1e386144e8841176c04153ed32a4878208",
        strip_prefix = "nghttp2-{version}",
        urls = ["https://github.com/nghttp2/nghttp2/releases/download/v{version}/nghttp2-{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2021-10-19",
        cpe = "cpe:2.3:a:nghttp2:nghttp2:*",
    ),
    io_opentracing_cpp = dict(
        project_name = "OpenTracing",
        project_desc = "Vendor-neutral APIs and instrumentation for distributed tracing",
        project_url = "https://opentracing.io",
        version = "1.5.1",
        sha256 = "015c4187f7a6426a2b5196f0ccd982aa87f010cf61f507ae3ce5c90523f92301",
        strip_prefix = "opentracing-cpp-{version}",
        urls = ["https://github.com/opentracing/opentracing-cpp/archive/v{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = [
            "envoy.tracers.datadog",
            "envoy.tracers.dynamic_ot",
            "envoy.tracers.lightstep",
        ],
        release_date = "2019-01-16",
        cpe = "N/A",
    ),
    com_lightstep_tracer_cpp = dict(
        project_name = "lightstep-tracer-cpp",
        project_desc = "LightStep distributed tracing library for C++",
        project_url = "https://github.com/lightstep/lightstep-tracer-cpp",
        version = "1942b3f142e218ebc143a043f32e3278dafec9aa",
        sha256 = "3238921a8f578beb26c2215cd277e8f6752f3d29b020b881d60d96a240a38aed",
        strip_prefix = "lightstep-tracer-cpp-{version}",
        urls = ["https://github.com/lightstep/lightstep-tracer-cpp/archive/{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = ["envoy.tracers.lightstep"],
        release_date = "2020-08-25",
        cpe = "N/A",
    ),
    skywalking_data_collect_protocol = dict(
        project_name = "skywalking-data-collect-protocol",
        project_desc = "Data Collect Protocols of Apache SkyWalking",
        project_url = "https://github.com/apache/skywalking-data-collect-protocol",
        name = "skywalking_data_collect_protocol",
        sha256 = "49bd689b9c1c0ea12064bd35581689cef7835e5ac15d335dc425fbfc2029aa90",
        urls = ["https://github.com/apache/skywalking-data-collect-protocol/archive/v{version}.tar.gz"],
        strip_prefix = "skywalking-data-collect-protocol-{version}",
        version = "8.9.1",
        use_category = ["observability_ext"],
        extensions = ["envoy.tracers.skywalking"],
        release_date = "2021-12-11",
        cpe = "cpe:2.3:a:apache:skywalking:*",
    ),
    com_github_skyapm_cpp2sky = dict(
        project_name = "cpp2sky",
        project_desc = "C++ SDK for Apache SkyWalking",
        project_url = "https://github.com/SkyAPM/cpp2sky",
        sha256 = "f65b1054bd6eadadff0618f272f6d645a1ec933fa14af922a8e3c39603e45eaf",
        version = "0.3.1",
        strip_prefix = "cpp2sky-{version}",
        urls = ["https://github.com/SkyAPM/cpp2sky/archive/v{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = ["envoy.tracers.skywalking"],
        release_date = "2021-06-17",
        cpe = "N/A",
    ),
    com_github_datadog_dd_opentracing_cpp = dict(
        project_name = "Datadog OpenTracing C++ Client",
        project_desc = "Datadog OpenTracing C++ Client",
        project_url = "https://github.com/DataDog/dd-opentracing-cpp",
        version = "1.2.1",
        sha256 = "ae44699e4aa2d21b70ed897a6c0cf3ed7dfb411e1aae4e686e39af75cec7c9bf",
        strip_prefix = "dd-opentracing-cpp-{version}",
        urls = ["https://github.com/DataDog/dd-opentracing-cpp/archive/v{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = ["envoy.tracers.datadog"],
        release_date = "2021-01-27",
        cpe = "N/A",
    ),
    com_github_google_benchmark = dict(
        project_name = "Benchmark",
        project_desc = "Library to benchmark code snippets",
        project_url = "https://github.com/google/benchmark",
        version = "1.5.1",
        sha256 = "23082937d1663a53b90cb5b61df4bcc312f6dee7018da78ba00dd6bd669dfef2",
        strip_prefix = "benchmark-{version}",
        urls = ["https://github.com/google/benchmark/archive/v{version}.tar.gz"],
        use_category = ["test_only"],
        release_date = "2020-06-09",
    ),
    com_github_libevent_libevent = dict(
        project_name = "libevent",
        project_desc = "Event notification library",
        project_url = "https://libevent.org",
        # This SHA includes the new "prepare" and "check" watchers, used for event loop performance
        # stats (see https://github.com/libevent/libevent/pull/793) and the fix for a race condition
        # in the watchers (see https://github.com/libevent/libevent/pull/802).
        # This also includes the fixes for https://github.com/libevent/libevent/issues/806
        # and https://github.com/envoyproxy/envoy-mobile/issues/215.
        # This also includes the fixes for Phantom events with EV_ET (see
        # https://github.com/libevent/libevent/issues/984).
        # This also includes the wepoll backend for Windows (see
        # https://github.com/libevent/libevent/pull/1006)
        # TODO(adip): Update to v2.2 when it is released.
        version = "62c152d9a7cd264b993dad730c4163c6ede2e0a3",
        sha256 = "4c80e5fe044ce5f8055b20a2f141ee32ec2614000f3e95d2aa81611a4c8f5213",
        strip_prefix = "libevent-{version}",
        urls = ["https://github.com/libevent/libevent/archive/{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2020-07-28",
        cpe = "cpe:2.3:a:libevent_project:libevent:*",
    ),
    # This should be removed, see https://github.com/envoyproxy/envoy/issues/13261.
    net_zlib = dict(
        project_name = "zlib",
        project_desc = "zlib compression library",
        project_url = "https://zlib.net",
        version = "79baebe50e4d6b73ae1f8b603f0ef41300110aa3",
        # Use the dev branch of zlib to resolve fuzz bugs and out of bound
        # errors resulting in crashes in zlib 1.2.11.
        # TODO(asraa): Remove when zlib > 1.2.11 is released.
        sha256 = "155a8f8c1a753fb05b16a1b0cc0a0a9f61a78e245f9e0da483d13043b3bcbf2e",
        strip_prefix = "zlib-{version}",
        urls = ["https://github.com/madler/zlib/archive/{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2019-04-14",
        cpe = "cpe:2.3:a:gnu:zlib:*",
    ),
    org_brotli = dict(
        project_name = "brotli",
        project_desc = "brotli compression library",
        project_url = "https://brotli.org",
        # Use the dev branch of brotli to resolve compilation issues.
        # TODO(rojkov): Remove when brotli > 1.0.9 is released.
        version = "0cd2e3926e95e7e2930f57ae3f4885508d462a25",
        sha256 = "93810780e60304b51f2c9645fe313a6e4640711063ed0b860cfa60999dd256c5",
        strip_prefix = "brotli-{version}",
        urls = ["https://github.com/google/brotli/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.compression.brotli.compressor",
            "envoy.compression.brotli.decompressor",
        ],
        release_date = "2020-09-08",
        cpe = "cpe:2.3:a:google:brotli:*",
    ),
    com_github_zlib_ng_zlib_ng = dict(
        project_name = "zlib-ng",
        project_desc = "zlib fork (higher performance)",
        project_url = "https://github.com/zlib-ng/zlib-ng",
        version = "2.0.6",
        sha256 = "8258b75a72303b661a238047cb348203d88d9dddf85d480ed885f375916fcab6",
        strip_prefix = "zlib-ng-{version}",
        urls = ["https://github.com/zlib-ng/zlib-ng/archive/{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2021-12-24",
        cpe = "N/A",
    ),
    com_github_jbeder_yaml_cpp = dict(
        project_name = "yaml-cpp",
        project_desc = "YAML parser and emitter in C++ matching the YAML 1.2 spec",
        project_url = "https://github.com/jbeder/yaml-cpp",
        version = "db6deedcd301754723065e0bbb1b75927c5b49c7",
        sha256 = "387d7f25467312ca59068081f9a25bbab02bb6af32fd3e0aec1bd59163558171",
        strip_prefix = "yaml-cpp-{version}",
        urls = ["https://github.com/jbeder/yaml-cpp/archive/{version}.tar.gz"],
        # YAML is also used for runtime as well as controlplane. It shouldn't appear on the
        # dataplane but we can't verify this automatically due to code structure today.
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2021-07-23",
        cpe = "cpe:2.3:a:yaml-cpp_project:yaml-cpp:*",
    ),
    com_github_msgpack_msgpack_c = dict(
        project_name = "msgpack for C/C++",
        project_desc = "MessagePack is an efficient binary serialization format",
        project_url = "https://github.com/msgpack/msgpack-c",
        version = "3.3.0",
        sha256 = "6e114d12a5ddb8cb11f669f83f32246e484a8addd0ce93f274996f1941c1f07b",
        strip_prefix = "msgpack-{version}",
        urls = ["https://github.com/msgpack/msgpack-c/releases/download/cpp-{version}/msgpack-{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = ["envoy.tracers.datadog"],
        release_date = "2020-06-05",
        cpe = "N/A",
    ),
    com_github_google_jwt_verify = dict(
        project_name = "jwt_verify_lib",
        project_desc = "JWT verification library for C++",
        project_url = "https://github.com/google/jwt_verify_lib",
        version = "e5d6cf7067495b0868787e1fd1e75cef3242a840",
        sha256 = "0d294dc8697049a0d7f2aaa81d08713fea581061c5359d6edb229b3e7c6cf58e",
        strip_prefix = "jwt_verify_lib-{version}",
        urls = ["https://github.com/google/jwt_verify_lib/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.jwt_authn"],
        release_date = "2021-03-05",
        cpe = "N/A",
    ),
    com_github_nodejs_http_parser = dict(
        project_name = "HTTP Parser",
        project_desc = "Parser for HTTP messages written in C",
        project_url = "https://github.com/nodejs/http-parser",
        # This SHA includes fix for https://github.com/nodejs/http-parser/issues/517 which allows (opt-in) to serve
        # requests with both Content-Legth and Transfer-Encoding: chunked headers set.
        version = "4f15b7d510dc7c6361a26a7c6d2f7c3a17f8d878",
        sha256 = "6a12896313ce1ca630cf516a0ee43a79b5f13f5a5d8143f56560ac0b21c98fac",
        strip_prefix = "http-parser-{version}",
        urls = ["https://github.com/nodejs/http-parser/archive/{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2020-07-10",
        cpe = "cpe:2.3:a:nodejs:node.js:*",
    ),
    com_github_alibaba_hessian2_codec = dict(
        project_name = "hessian2-codec",
        project_desc = "hessian2-codec is a C++ library for hessian2 codec",
        project_url = "https://github.com/alibaba/hessian2-codec.git",
        version = "dd8e05487a27b367b90ce81f4e6e6f62d693a212",
        sha256 = "93260c54406e11b7be078a7ea120f7ab0df475c733e68d010fde400c5c8c8162",
        strip_prefix = "hessian2-codec-{version}",
        urls = ["https://github.com/alibaba/hessian2-codec/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.network.dubbo_proxy"],
        release_date = "2021-04-05",
        cpe = "N/A",
    ),
    com_github_tencent_rapidjson = dict(
        project_name = "RapidJSON",
        project_desc = "Fast JSON parser/generator for C++",
        project_url = "https://rapidjson.org",
        version = "dfbe1db9da455552f7a9ad5d2aea17dd9d832ac1",
        sha256 = "a2faafbc402394df0fa94602df4b5e4befd734aad6bb55dfef46f62fcaf1090b",
        strip_prefix = "rapidjson-{version}",
        urls = ["https://github.com/Tencent/rapidjson/archive/{version}.tar.gz"],
        # We're mostly using com_google_protobuf for JSON, but there are some extensions and hard to
        # disentangle uses on the dataplane, e.g. header_formatter, Squash filter.
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2019-12-03",
        cpe = "cpe:2.3:a:tencent:rapidjson:*",
    ),
    com_github_nlohmann_json = dict(
        project_name = "nlohmann JSON",
        project_desc = "Fast JSON parser/generator for C++",
        project_url = "https://nlohmann.github.io/json",
        version = "3.10.5",
        sha256 = "5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4",
        strip_prefix = "json-{version}",
        urls = ["https://github.com/nlohmann/json/archive/v{version}.tar.gz"],
        # This will be a replacement for rapidJSON used in extensions and may also be a fast
        # replacement for protobuf JSON.
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2022-01-03",
        cpe = "cpe:2.3:a:json-for-modern-cpp_project:json-for-modern-cpp:*",
    ),
    # This is an external dependency needed while running the
    # envoy docker image. A bazel target has been created since
    # there is no binary package available for the utility on Ubuntu
    # which is the base image used to build an envoy container.
    # This is not needed to build an envoy binary or run tests.
    com_github_ncopa_suexec = dict(
        project_name = "su-exec",
        project_desc = "Utility to switch user and group id, setgroups and exec",
        project_url = "https://github.com/ncopa/su-exec",
        version = "212b75144bbc06722fbd7661f651390dc47a43d1",
        sha256 = "939782774079ec156788ea3e04dd5e340e993544f4296be76a9c595334ca1779",
        strip_prefix = "su-exec-{version}",
        urls = ["https://github.com/ncopa/su-exec/archive/{version}.tar.gz"],
        use_category = ["other"],
        release_date = "2019-09-18",
        cpe = "N/A",
    ),
    com_google_googletest = dict(
        project_name = "Google Test",
        project_desc = "Google's C++ test framework",
        project_url = "https://github.com/google/googletest",
        # Pick up fix for MOCK_METHOD compilation with clang-cl for Windows (resolved after 1.10.0)
        # see https://github.com/google/googletest/issues/2490
        version = "a4ab0abb93620ce26efad9de9296b73b16e88588",
        sha256 = "7897bfaa5ad39a479177cfb5c3ce010184dbaee22a7c3727b212282871918751",
        strip_prefix = "googletest-{version}",
        urls = ["https://github.com/google/googletest/archive/{version}.tar.gz"],
        release_date = "2020-09-10",
        use_category = ["test_only"],
        cpe = "cpe:2.3:a:google:google_test:*",
    ),
    com_google_protobuf = dict(
        project_name = "Protocol Buffers",
        project_desc = "Language-neutral, platform-neutral extensible mechanism for serializing structured data",
        project_url = "https://developers.google.com/protocol-buffers",
        version = "3.19.3",
        sha256 = "84cca73ed97abce159c381e682ba0237bc21952359b07d8d45dc7e6399edd923",
        strip_prefix = "protobuf-{version}",
        urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protobuf-all-{version}.tar.gz"],
        use_category = ["dataplane_core", "controlplane"],
        release_date = "2022-01-11",
        cpe = "cpe:2.3:a:google:protobuf:*",
    ),
    grpc_httpjson_transcoding = dict(
        project_name = "grpc-httpjson-transcoding",
        project_desc = "Library that supports transcoding so that HTTP/JSON can be converted to gRPC",
        project_url = "https://github.com/grpc-ecosystem/grpc-httpjson-transcoding",
        version = "9e2a4b583fef47d85775fb8bd3baf7115b0e71b1",
        sha256 = "4637b335dfd82f721c675159101714a7e1ad42129a8a118a5c62680dbc90bdb2",
        strip_prefix = "grpc-httpjson-transcoding-{version}",
        urls = ["https://github.com/grpc-ecosystem/grpc-httpjson-transcoding/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.http.grpc_json_transcoder"],
        release_date = "2022-01-06",
        cpe = "N/A",
    ),
    io_bazel_rules_go = dict(
        project_name = "Go rules for Bazel",
        project_desc = "Bazel rules for the Go language",
        project_url = "https://github.com/bazelbuild/rules_go",
        version = "0.29.0",
        sha256 = "2b1641428dff9018f9e85c0384f03ec6c10660d935b750e3fa1492a281a53b0f",
        urls = ["https://github.com/bazelbuild/rules_go/releases/download/v{version}/rules_go-v{version}.zip"],
        use_category = ["build", "api"],
        release_date = "2021-10-06",
        implied_untracked_deps = [
            "com_github_golang_protobuf",
            "io_bazel_rules_nogo",
            "org_golang_google_protobuf",
            "org_golang_x_tools",
        ],
    ),
    rules_cc = dict(
        project_name = "C++ rules for Bazel",
        project_desc = "Bazel rules for the C++ language",
        project_url = "https://github.com/bazelbuild/rules_cc",
        version = "0.0.1",
        sha256 = "4dccbfd22c0def164c8f47458bd50e0c7148f3d92002cdb459c2a96a68498241",
        urls = ["https://github.com/bazelbuild/rules_cc/releases/download/{version}/rules_cc-{version}.tar.gz"],
        release_date = "2021-10-07",
        use_category = ["build"],
    ),
    rules_foreign_cc = dict(
        project_name = "Rules for using foreign build systems in Bazel",
        project_desc = "Rules for using foreign build systems in Bazel",
        project_url = "https://github.com/bazelbuild/rules_foreign_cc",
        version = "0.7.1",
        sha256 = "bcd0c5f46a49b85b384906daae41d277b3dc0ff27c7c752cc51e43048a58ec83",
        strip_prefix = "rules_foreign_cc-{version}",
        urls = ["https://github.com/bazelbuild/rules_foreign_cc/archive/{version}.tar.gz"],
        release_date = "2022-01-03",
        use_category = ["build", "dataplane_core", "controlplane"],
    ),
    rules_python = dict(
        project_name = "Python rules for Bazel",
        project_desc = "Bazel rules for the Python language",
        project_url = "https://github.com/bazelbuild/rules_python",
        version = "0.6.0",
        sha256 = "a30abdfc7126d497a7698c29c46ea9901c6392d6ed315171a6df5ce433aa4502",
        release_date = "2022-01-05",
        strip_prefix = "rules_python-{version}",
        urls = ["https://github.com/bazelbuild/rules_python/archive/{version}.tar.gz"],
        use_category = ["build"],
    ),
    rules_pkg = dict(
        project_name = "Packaging rules for Bazel",
        project_desc = "Bazel rules for the packaging distributions",
        project_url = "https://github.com/bazelbuild/rules_pkg",
        version = "e5d1ed4e23b291073d8a9058a671a1bd9664f230",
        sha256 = "c76ca18f745673b8c2a7bbe867893ffb252c6bebf91f9a1eee15cfa054957ea7",
        strip_prefix = "rules_pkg-{version}",
        urls = ["https://github.com/bazelbuild/rules_pkg/archive/{version}.tar.gz"],
        use_category = ["build"],
        release_date = "2021-12-15",
    ),
    org_llvm_llvm = dict(
        # When changing this, you must re-generate the list of llvm libs
        # see `bazel/foreign_cc/BUILD` for further information.
        project_name = "LLVM",
        project_desc = "LLVM Compiler Infrastructure",
        project_url = "https://llvm.org",
        version = "12.0.1",
        sha256 = "7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf",
        strip_prefix = "llvm-{version}.src",
        urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/llvm-{version}.src.tar.xz"],
        release_date = "2021-07-09",
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.wasm.runtime.wamr",
            "envoy.wasm.runtime.wavm",
        ],
        cpe = "cpe:2.3:a:llvm:*:*",
    ),
    com_github_wamr = dict(
        project_name = "Webassembly Micro Runtime",
        project_desc = "A standalone runtime with a small footprint for WebAssembly",
        project_url = "https://github.com/bytecodealliance/wasm-micro-runtime",
        version = "WAMR-12-30-2021",
        sha256 = "ab6e8643ec553347b0e129a355dc723969f49355d1d5bfa74d724d984c238037",
        strip_prefix = "wasm-micro-runtime-{version}",
        urls = ["https://github.com/bytecodealliance/wasm-micro-runtime/archive/{version}.tar.gz"],
        release_date = "2021-12-30",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.wamr"],
        cpe = "N/A",
    ),
    com_github_wavm_wavm = dict(
        project_name = "WAVM",
        project_desc = "WebAssembly Virtual Machine",
        project_url = "https://wavm.github.io",
        version = "c8997ebf154f3b42e688e670a7d0fa045b7a32a0",
        sha256 = "bf2b2aec8a4c6a5413081c0527cb40dd16cb67e9c74a91f8a82fe1cf27a3c5d5",
        strip_prefix = "WAVM-{version}",
        urls = ["https://github.com/WAVM/WAVM/archive/{version}.tar.gz"],
        release_date = "2021-12-15",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.wavm"],
        cpe = "cpe:2.3:a:webassembly_virtual_machine_project:webassembly_virtual_machine:*",
    ),
    com_github_wasmtime = dict(
        project_name = "wasmtime",
        project_desc = "A standalone runtime for WebAssembly",
        project_url = "https://github.com/bytecodealliance/wasmtime",
        version = "0.33.0",
        sha256 = "c59a2aa110b25921d370944287cd97205c73cf3dc76776c5b3551135c1e42ddc",
        strip_prefix = "wasmtime-{version}",
        urls = ["https://github.com/bytecodealliance/wasmtime/archive/v{version}.tar.gz"],
        release_date = "2022-01-05",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.wasmtime"],
        cpe = "cpe:2.3:a:bytecodealliance:wasmtime:*",
    ),
    com_github_wasm_c_api = dict(
        project_name = "wasm-c-api",
        project_desc = "WebAssembly C and C++ API",
        project_url = "https://github.com/WebAssembly/wasm-c-api",
        # this is the submodule's specific commit used by wasmtime
        # https://github.com/bytecodealliance/wasmtime/tree/v0.25.0/crates/c-api
        version = "c9d31284651b975f05ac27cee0bab1377560b87e",
        sha256 = "c774044f51431429e878bd1b9e2a4e38932f861f9211df72f75e9427eb6b8d32",
        strip_prefix = "wasm-c-api-{version}",
        urls = ["https://github.com/WebAssembly/wasm-c-api/archive/{version}.tar.gz"],
        release_date = "2021-01-11",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.wasmtime"],
        cpe = "N/A",
    ),
    io_opencensus_cpp = dict(
        project_name = "OpenCensus C++",
        project_desc = "OpenCensus tracing library",
        project_url = "https://github.com/census-instrumentation/opencensus-cpp",
        version = "ba631066779a534267fdb1321b19850eb2b0c000",
        sha256 = "f239a40803f6e2e42b57c9e68771b0990c4ca8b2d76b440073cdf14f4211ad26",
        strip_prefix = "opencensus-cpp-{version}",
        urls = ["https://github.com/census-instrumentation/opencensus-cpp/archive/{version}.tar.gz"],
        use_category = ["observability_ext"],
        extensions = ["envoy.tracers.opencensus"],
        release_date = "2020-10-08",
        cpe = "N/A",
    ),
    # This should be removed, see https://github.com/envoyproxy/envoy/issues/11816.
    com_github_curl = dict(
        project_name = "curl",
        project_desc = "Library for transferring data with URLs",
        project_url = "https://curl.haxx.se",
        version = "7.81.0",
        sha256 = "ac8e1087711084548d788ef18b9b732c8de887457b81f616fc681d1044b32f98",
        strip_prefix = "curl-{version}",
        urls = ["https://github.com/curl/curl/releases/download/curl-{underscore_version}/curl-{version}.tar.gz"],
        use_category = ["dataplane_ext", "observability_ext"],
        extensions = [
            "envoy.filters.http.aws_lambda",
            "envoy.filters.http.aws_request_signing",
            "envoy.grpc_credentials.aws_iam",
            "envoy.tracers.opencensus",
        ],
        release_date = "2022-01-05",
        cpe = "cpe:2.3:a:haxx:libcurl:*",
    ),
    com_googlesource_chromium_v8 = dict(
        project_name = "V8",
        project_desc = "Google’s open source high-performance JavaScript and WebAssembly engine, written in C++",
        project_url = "https://v8.dev",
        version = "9.8.177.5",
        # This archive was created using https://storage.googleapis.com/envoyproxy-wee8/wee8-archive.sh
        # and contains complete checkout of V8 with all dependencies necessary to build wee8.
        sha256 = "187ab67c6761051efe95f4666f9ecf6a4a82cbf84fa4833040c86f681e1d513a",
        urls = ["https://storage.googleapis.com/envoyproxy-wee8/wee8-{version}.tar.gz"],
        strip_prefix = "wee8",
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.v8"],
        release_date = "2022-01-07",
        cpe = "cpe:2.3:a:google:v8:*",
    ),
    com_github_google_quiche = dict(
        project_name = "QUICHE",
        project_desc = "QUICHE (QUIC, HTTP/2, Etc) is Google‘s implementation of QUIC and related protocols",
        project_url = "https://github.com/google/quiche",
        version = "919b260490a635bae43c3190523aaff71d4b1009",
        sha256 = "5dbb6a898018cd3168b7f4f0cdd0ee162deb91f26697ac8acc5f63d4170a8112",
        urls = ["https://github.com/google/quiche/archive/{version}.tar.gz"],
        strip_prefix = "quiche-{version}",
        use_category = ["dataplane_core"],
        release_date = "2022-01-19",
        cpe = "N/A",
    ),
    com_googlesource_googleurl = dict(
        project_name = "Chrome URL parsing library",
        project_desc = "Chrome URL parsing library",
        project_url = "https://quiche.googlesource.com/googleurl",
        # Static snapshot of https://quiche.googlesource.com/googleurl/+archive/561705e0066ff11e6cb97b8092f1547835beeb92.tar.gz.
        version = "561705e0066ff11e6cb97b8092f1547835beeb92",
        sha256 = "7ce00768fea1fa4c7bf658942f13e41c9ba30e9cff931a6cda2f9fd02289f673",
        urls = ["https://storage.googleapis.com/quiche-envoy-integration/googleurl_{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        extensions = [],
        release_date = "2021-08-31",
        cpe = "N/A",
    ),
    com_google_cel_cpp = dict(
        project_name = "Common Expression Language (CEL) C++ library",
        project_desc = "Common Expression Language (CEL) C++ library",
        project_url = "https://opensource.google/projects/cel",
        version = "60c7aeabb4e6fa633b49c14d6c6fc8f0516761b9",
        sha256 = "7cb1e8ce293182e1d28321d4d6baecdacbc263cffcd9da1f7ffd25312611a329",
        strip_prefix = "cel-cpp-{version}",
        urls = ["https://github.com/google/cel-cpp/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.extension_filters.cel",
            "envoy.access_loggers.wasm",
            "envoy.bootstrap.wasm",
            "envoy.rate_limit_descriptors.expr",
            "envoy.filters.http.rbac",
            "envoy.filters.http.wasm",
            "envoy.filters.network.rbac",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
            "envoy.rbac.matchers.upstream_ip_port",
        ],
        release_date = "2021-11-08",
        cpe = "N/A",
    ),
    com_github_google_flatbuffers = dict(
        project_name = "FlatBuffers",
        project_desc = "Cross platform serialization library architected for maximum memory efficiency",
        project_url = "https://github.com/google/flatbuffers",
        version = "2.0.0",
        sha256 = "9ddb9031798f4f8754d00fca2f1a68ecf9d0f83dfac7239af1311e4fd9a565c4",
        strip_prefix = "flatbuffers-{version}",
        urls = ["https://github.com/google/flatbuffers/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.extension_filters.cel",
            "envoy.access_loggers.wasm",
            "envoy.bootstrap.wasm",
            "envoy.rate_limit_descriptors.expr",
            "envoy.filters.http.rbac",
            "envoy.filters.http.wasm",
            "envoy.filters.network.rbac",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
            "envoy.rbac.matchers.upstream_ip_port",
        ],
        release_date = "2021-05-10",
        cpe = "cpe:2.3:a:google:flatbuffers:*",
    ),
    com_googlesource_code_re2 = dict(
        project_name = "RE2",
        project_desc = "RE2, a regular expression library",
        project_url = "https://github.com/google/re2",
        version = "2021-11-01",
        sha256 = "8c45f7fba029ab41f2a7e6545058d9eec94eef97ce70df58e92d85cfc08b4669",
        strip_prefix = "re2-{version}",
        urls = ["https://github.com/google/re2/archive/{version}.tar.gz"],
        use_category = ["controlplane", "dataplane_core"],
        release_date = "2021-11-01",
        cpe = "N/A",
    ),
    # Included to access FuzzedDataProvider.h. This is compiler agnostic but
    # provided as part of the compiler-rt source distribution. We can't use the
    # Clang variant as we are not a Clang-LLVM only shop today.
    org_llvm_releases_compiler_rt = dict(
        project_name = "compiler-rt",
        project_desc = "LLVM compiler runtime library",
        project_url = "https://compiler-rt.llvm.org",
        version = "12.0.1",
        sha256 = "b4c8d5f2a802332987c1c0a95b5afb35b1a66a96fe44add4e4ed4792c4cba0a4",
        # Only allow peeking at fuzzer related files for now.
        strip_prefix = "compiler-rt-{version}.src",
        urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/compiler-rt-{version}.src.tar.xz"],
        release_date = "2021-07-09",
        use_category = ["test_only"],
        cpe = "cpe:2.3:a:llvm:compiler-rt:*",
    ),
    upb = dict(
        project_name = "upb",
        project_desc = "A small protobuf implementation in C (gRPC dependency)",
        project_url = "https://github.com/protocolbuffers/upb",
        version = "de76b31f9c56b28120580d53a6f8d7941fdb79eb",
        sha256 = "487d84ce85065ff89ccde1c1ac2ea1515d2be411306e4adf1be6861dc4a4a86b",
        release_date = "2020-12-29",
        strip_prefix = "upb-{version}",
        urls = ["https://github.com/protocolbuffers/upb/archive/{version}.tar.gz"],
        use_category = ["controlplane"],
        cpe = "N/A",
    ),
    kafka_source = dict(
        project_name = "Kafka (source)",
        project_desc = "Open-source distributed event streaming platform",
        project_url = "https://kafka.apache.org",
        version = "3.0.0",
        sha256 = "862526ee07c372d7b2f7e672c096fe84bb1e115ef536e0ad7497e6fb50e08e02",
        strip_prefix = "kafka-{version}/clients/src/main/resources/common/message",
        urls = ["https://github.com/apache/kafka/archive/{version}.zip"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.network.kafka_broker", "envoy.filters.network.kafka_mesh"],
        release_date = "2021-09-08",
        cpe = "cpe:2.3:a:apache:kafka:*",
    ),
    edenhill_librdkafka = dict(
        project_name = "Kafka (C/C++ client)",
        project_desc = "C/C++ client for Apache Kafka (open-source distributed event streaming platform)",
        project_url = "https://github.com/edenhill/librdkafka",
        version = "1.8.2",
        sha256 = "6a747d293a7a4613bd2897e28e8791476fbe1ae7361f2530a876e0fd483482a6",
        strip_prefix = "librdkafka-{version}",
        urls = ["https://github.com/edenhill/librdkafka/archive/v{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.filters.network.kafka_mesh"],
        release_date = "2021-10-18",
        cpe = "N/A",
    ),
    kafka_server_binary = dict(
        project_name = "Kafka (server binary)",
        project_desc = "Open-source distributed event streaming platform",
        project_url = "https://kafka.apache.org",
        version = "3.0.0",
        sha256 = "a82728166bbccf406009747a25e1fe52dbcb4d575e4a7a8616429b5818cd02d1",
        strip_prefix = "kafka_2.13-{version}",
        urls = ["https://archive.apache.org/dist/kafka/{version}/kafka_2.13-{version}.tgz"],
        release_date = "2021-09-20",
        use_category = ["test_only"],
    ),
    kafka_python_client = dict(
        project_name = "Kafka (Python client)",
        project_desc = "Open-source distributed event streaming platform",
        project_url = "https://kafka.apache.org",
        version = "2.0.2",
        sha256 = "5dcf87c559e7aee4f18d621a02e247db3e3552ee4589ca611d51eef87b37efed",
        strip_prefix = "kafka-python-{version}",
        urls = ["https://github.com/dpkp/kafka-python/archive/{version}.tar.gz"],
        release_date = "2020-09-30",
        use_category = ["test_only"],
    ),
    proxy_wasm_cpp_sdk = dict(
        project_name = "WebAssembly for Proxies (C++ SDK)",
        project_desc = "WebAssembly for Proxies (C++ SDK)",
        project_url = "https://github.com/proxy-wasm/proxy-wasm-cpp-sdk",
        version = "fd0be8405db25de0264bdb78fae3a82668c03782",
        sha256 = "c57de2425b5c61d7f630c5061e319b4557ae1f1c7526e5a51c33dc1299471b08",
        strip_prefix = "proxy-wasm-cpp-sdk-{version}",
        urls = ["https://github.com/proxy-wasm/proxy-wasm-cpp-sdk/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.wasm",
            "envoy.bootstrap.wasm",
            "envoy.filters.http.wasm",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
            "envoy.wasm.runtime.null",
            "envoy.wasm.runtime.v8",
            "envoy.wasm.runtime.wamr",
            "envoy.wasm.runtime.wavm",
            "envoy.wasm.runtime.wasmtime",
        ],
        release_date = "2021-06-24",
        cpe = "N/A",
    ),
    proxy_wasm_cpp_host = dict(
        project_name = "WebAssembly for Proxies (C++ host implementation)",
        project_desc = "WebAssembly for Proxies (C++ host implementation)",
        project_url = "https://github.com/proxy-wasm/proxy-wasm-cpp-host",
        version = "4634be18b3c2f54999be713fe3e183d62d9ec4a5",
        sha256 = "0a4da917ef23eb085dcc09b4f741c11944cd8963b116082488f3977bf2812ac2",
        strip_prefix = "proxy-wasm-cpp-host-{version}",
        urls = ["https://github.com/proxy-wasm/proxy-wasm-cpp-host/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.wasm",
            "envoy.bootstrap.wasm",
            "envoy.filters.http.wasm",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
            "envoy.wasm.runtime.null",
            "envoy.wasm.runtime.v8",
            "envoy.wasm.runtime.wamr",
            "envoy.wasm.runtime.wavm",
            "envoy.wasm.runtime.wasmtime",
        ],
        release_date = "2022-01-13",
        cpe = "N/A",
    ),
    proxy_wasm_rust_sdk = dict(
        project_name = "WebAssembly for Proxies (Rust SDK)",
        project_desc = "WebAssembly for Proxies (Rust SDK)",
        project_url = "https://github.com/proxy-wasm/proxy-wasm-rust-sdk",
        version = "abd0f5437212e5fd3dd6a70eac3959934278e643",
        sha256 = "a7c7f2fadc151e00694507598880894dfe2d2ea24f858ec9681d38f2abfbe811",
        strip_prefix = "proxy-wasm-rust-sdk-{version}",
        urls = ["https://github.com/proxy-wasm/proxy-wasm-rust-sdk/archive/{version}.tar.gz"],
        use_category = ["test_only"],
        release_date = "2021-07-13",
        cpe = "N/A",
    ),
    emscripten_toolchain = dict(
        project_name = "Emscripten SDK",
        project_desc = "Emscripten SDK (use by Wasm)",
        project_url = "https://github.com/emscripten-core/emsdk",
        version = "2.0.7",
        sha256 = "ce7a5c76e8b425aca874cea329fd9ac44b203b777053453b6a37b4496c5ce34f",
        strip_prefix = "emsdk-{version}",
        urls = ["https://github.com/emscripten-core/emsdk/archive/{version}.tar.gz"],
        use_category = ["build"],
        release_date = "2020-10-13",
    ),
    rules_rust = dict(
        project_name = "Bazel rust rules",
        project_desc = "Bazel rust rules (used by Wasm)",
        project_url = "https://github.com/bazelbuild/rules_rust",
        version = "82b650d5d0709ae4c0ee8584f4ed92112ba11d67",
        sha256 = "d087851b76204935f7f23c172eb0d136c09720b8484d8151019523652ce77004",
        strip_prefix = "rules_rust-{version}",
        urls = ["https://github.com/bazelbuild/rules_rust/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = ["envoy.wasm.runtime.wasmtime"],
        release_date = "2021-10-19",
        cpe = "N/A",
    ),
    rules_antlr = dict(
        project_name = "ANTLR Rules for Bazel",
        project_desc = "Bazel rules for ANTLR",
        project_url = "https://github.com/marcohu/rules_antlr",
        version = "3cc2f9502a54ceb7b79b37383316b23c4da66f9a",
        sha256 = "7249d1569293d9b239e23c65f6b4c81a07da921738bde0dfeb231ed98be40429",
        strip_prefix = "rules_antlr-{version}",
        urls = ["https://github.com/marcohu/rules_antlr/archive/{version}.tar.gz"],
        # ANTLR has a runtime component, so is not purely build.
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.extension_filters.cel",
            "envoy.access_loggers.wasm",
            "envoy.bootstrap.wasm",
            "envoy.rate_limit_descriptors.expr",
            "envoy.filters.http.wasm",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
        ],
        release_date = "2019-06-21",
        cpe = "N/A",
    ),
    antlr4_runtimes = dict(
        project_name = "ANTLR v4",
        project_desc = "ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files",
        project_url = "https://github.com/antlr/antlr4",
        version = "4.7.2",
        sha256 = "46f5e1af5f4bd28ade55cb632f9a069656b31fc8c2408f9aa045f9b5f5caad64",
        strip_prefix = "antlr4-{version}",
        urls = ["https://github.com/antlr/antlr4/archive/{version}.tar.gz"],
        use_category = ["dataplane_ext"],
        extensions = [
            "envoy.access_loggers.extension_filters.cel",
            "envoy.access_loggers.wasm",
            "envoy.bootstrap.wasm",
            "envoy.rate_limit_descriptors.expr",
            "envoy.filters.http.wasm",
            "envoy.filters.network.wasm",
            "envoy.stat_sinks.wasm",
        ],
        release_date = "2018-12-18",
        cpe = "N/A",
    ),
    com_github_fdio_vpp_vcl = dict(
        project_name = "VPP Comms Library",
        project_desc = "FD.io Vector Packet Processor (VPP) Comms Library",
        project_url = "https://fd.io/",
        version = "7c3275e84b64ade4e20d00e4457bd4e437b1894f",
        sha256 = "d456d37bbb7f90ec1ef166c1387e788b4c3078d38303f12ab41f1d0ac1a1cfc0",
        strip_prefix = "vpp-{version}",
        urls = ["https://github.com/FDio/vpp/archive/{version}.tar.gz"],
        use_category = ["other"],
        extensions = ["envoy.bootstrap.vcl"],
        release_date = "2021-12-10",
        cpe = "N/A",
    ),
)
